原帖 | Jason | 2026-06-10 10:42 | 👍2 | 阅读约1
嵌入式 Linux 软件开发有个热门方向,就是音视频应用开发,其中 RTSP 与 RTMP 很重要,带大家学习一下。
一、基础定位
- RTSP:实时流协议,标准直播/监控主流协议,多用于 IPC、NVR、摄像头、安防设备。
- RTMP:实时消息传输协议,Adobe 私有协议,多用于互联网直播、推流到直播平台。
二、核心差异
-
传输层
-
RTSP:默认 TCP 554,也可 UDP(组播/低延迟),支持组播,嵌入式监控首选。
-
RTMP:固定 TCP 1935,仅单播,无UDP原生支持。
-
工作模式
-
RTSP:C/S 控制+数据分离(信令通道 + 媒体数据通道分开),标准拉流为主(设备被动被取流)。
-
RTMP:单一通道混合传输,以推流为主(设备主动把视频发到服务器)。
-
延迟
-
RTSP:UDP模式低延迟(100~300ms),TCP略高,适合实时监控。
-
RTMP:协议封装+缓存,延迟偏高(1~3s),不追求极致实时。
-
适用场景(嵌入式最关键)
RTSP 适合
- 网络摄像头、IPC、行车记录仪、车载监控、NVR
- 本地局域网、安防系统、需要低延迟/组播场景
- 嵌入式Linux 视频采集、预览、录像
RTMP 适合
- 设备推流到云端直播平台(抖音、视频号、直播服务器)
-
互联网公网直播,局域网监控极少用
-
协议标准 & 兼容性
-
RTSP:国际标准 RFC,开源组件丰富(live555、ffmpeg、gstreamer),嵌入式生态成熟。
-
RTMP:早期Adobe私有,现在开源但浏览器原生不支持,需转 HTTP-FLV/HLS。
-
简单优缺点
RTSP
✅ 低延迟、支持UDP/组播、标准通用、安防生态强
❌ 公网穿透复杂、防火墙易拦截
RTMP
✅ 公网穿透友好、直播平台全覆盖、推流简单
❌ 延迟高、不支持组播、监控领域基本不用
三、嵌入式 Linux 选型建议
1. 做摄像头/监控/本地预览 → 用 RTSP
2. 设备往外网直播推流 → 用 RTMP
3. 通用方案:FFmpeg/GStreamer 两者都可适配,RTSP 是嵌入式视频刚需。
四、补充常用组合(工程常用)
- RTSP 拉流 → 转 RTMP 推云端:FFmpeg 最常用
- RTSP 服务端:live555、rtsp-simple-server
- RTMP 服务端:Nginx+rtmp 模块
相关笔记